1 package mobisnap.mobile_trx;
2
3 /***
4 * Used to represent variables and constants internally
5 */
6 public class MSQLTVarChar extends MSQLTVariable
7 {
8 int size;
9
10 public MSQLTVarChar( boolean constant, boolean notnull, int size) {
11 super( constant, notnull);
12 this.size = size;
13 }
14
15 /***
16 * Sets the value of the given variable
17 */
18 public void setValue( Object obj) throws Exception {
19 if( constant && value != null)
20 throw new mobisnap.MobisnapException( "Assigning value to constant");
21 if( obj instanceof String) {
22 if( size > 0 && ((String)obj).length() > size)
23 value = ((String)obj).substring( 0, size);
24 else
25 value = obj;
26 } else if( obj instanceof SQLNull && ! notnull)
27 value = obj;
28 else if( obj instanceof java.sql.Date)
29 setValue( obj.toString());
30 else if( obj instanceof Boolean || MSQLTypeUtil.isDecimal( obj))
31 setValue( obj.toString());
32 else
33 throw new mobisnap.MobisnapException( "Invalid assgnment to var char : " + obj.getClass().getName());
34 }
35 }
This page was automatically generated by Maven